#ifndef BOARD_H
#define BOARD_H

#ifdef APM32E10X_HD
	#include "apm32e10x.h"
	#include "apm32e10x_gpio.h"
	#include "apm32e10x_rcm.h"
	#include "apm32e10x_eint.h"
	#include "apm32e10x_usart.h"
	#include "apm32e10x_misc.h"

#elif defined AT32F403AVGT7
	#include "at32f403a_407.h"
	#include "at32f403a_407_gpio.h"
	#include "at32f403a_407_crm.h"
	#include "at32f403a_407_exint.h"
	#include "at32f403a_407_usart.h"
	#include "at32f403a_407_misc.h"

#else
	#include "apm32f10x.h"
	#include "apm32f10x_gpio.h"
	#include "apm32f10x_rcm.h"
	#include "apm32f10x_eint.h"
	#include "apm32f10x_usart.h"
	#include "apm32f10x_misc.h"
#endif

#include "BoardInit.h"
#include "SQDriConfig.h"
#include "stdio.h"
#include "Led.h"
#include "Relay_Control.h"
#include "uart.h"
#include "Leakage_Detect.h"
#include "ADCReader.h"
#include "TimerDef.h"
#include "ADCReader.h"
#include "BoardData.h"
#include "BoardWork.h"

#if Nor_Flash > 0
#include "NorFlash.h" 
#include "NorFlashSPI.h" 
#endif

#if RTC_ON > 0
#include "RTC_Timer.h"
#endif

#if PE_ON > 0
#include "PE_Detect.h"   
#endif

#if Key1  > 0
#include "Key.h"
#endif

#if UI_Meter_Method == Meter_SelfADC
#include "Chg_Voltage_Current.h"
#endif

#if defined SQDri_EVSEB_7KW || defined SQDri_EVSEB_11KW
#include "UI_Gauge_SPI.h"   
#if CC_Detect_type > 0
#include "CC_Detect.h"   
#endif
#include "rly_adhesion.h"
#include "buzzer.h"
#endif

#if CarD1_Protect > 0
#include "CarD1_Detect.h"
#endif

#if card_type_sel  == Card_MF1
#include "Card_SPI.h"   
#include "MF1Card.h"
#include "MF1CardWork.h"
#endif

#if Using_UART_LCD  == LCD_0P42_IIC
#include "IIC.h"
#include "SSD1306.h"
#include "strPicRes.h"
#elif Using_UART_LCD == LCD_4P3_UART 
#include "LCD4P3.h"  
#endif

#if Upboard_IIC
#include "IIC.h"
#endif

#if key1_Ctrl_id == KeyCtrl_UpBoard
#include "upkeytreat.h"
#endif

#if finger_sensor_type > 0
#include "zw101.h"
#endif

#if PinPick_RatedI > 0
#include "PinPick.h"
#endif

#endif


